Correct calculation of font metrics. Now GtkEntrys have sane size.
authorAlexander Larsson <alexl@redhat.com>
Wed, 22 Nov 2000 12:09:08 +0000 (12:09 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Wed, 22 Nov 2000 12:09:08 +0000 (12:09 +0000)
2000-11-22  Alexander Larsson  <alexl@redhat.com>

* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
Correct calculation of font metrics. Now GtkEntrys have sane
size.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/linux-fb/gdkpango-fb.c

index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index 88a93877ffe432d91ae280be91240bb599af0498..0d531844ac6b8ccbb99d3a55b52dd2d593ff1a6f 100644 (file)
@@ -1,3 +1,55 @@
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+       * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
+       Correct calculation of font metrics. Now GtkEntrys have sane
+       size.
+
+2000-11-22  Alexander Larsson  <alexl@redhat.com>
+
+        * gdk/gdktypes.h:
+       Add new type GdkSpan
+       
+       * docs/reference/gdk/gdk-sections.txt,
+       docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
+       gdk/gdkregion.h:
+       Implement and document gdk_region_spans_intersect_foreach.
+
+       * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
+       Add new file gdkrender-fb.c which contains all core
+       rendering code.
+       Add gdk_fb_fill_rectangle_generic (old rectangle code) and
+       gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
+       (optimized rectangle fillers).
+
+       * gdk/linux-fb/gdkdrawable-fb2.c:
+       Move all rendering code to gdkrender-fb.c.
+       Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
+       Use the new span intersection functions in gdk_fb_fill_spans.
+       gdk_fb_draw_rectangle() clips filled rectangles and calls
+       gc->fill_rectangle with the result.
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/gdkevents-fb.c:
+       Remove unused includes and defines.
+       New function gdk_fb_get_time() to get correct time for events.
+
+       * gdk/linux-fb/gdkinput-ps2.c:
+       Use gdk method of generating multiple-clicks (gdk_event_button_generate)
+       Make sure to set the time of all events.
+
+       * gdk/linux-fb/gdkmain-fb.c:
+       Use gdk_fb_get_time ().
+
+       * gdk/linux-fb/gdkprivate-fb.h:
+       New virtual GC calls: fill_span & fill_rectangle.
+       Export gdk_fb_get_time().
+       gdk_fb_fill_spans() gets extra argument "sorted".
+
+       * gdk/linux-fb/mi*.c:
+       Use GdkSpan instead of GdkRectangle.
+       Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
+       from XFree 4 source)
+       
 2000-11-22    <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
index c86acf48f42e7d602ee2ef98b3cd1df68e22ec23..8cc57a9cc9b6a32cd7ac91fed8c76bd7c11b7e04 100644 (file)
@@ -717,10 +717,12 @@ pango_fb_font_get_metrics (PangoFont        *font,
 
   ftf = PANGO_FB_FONT (font)->ftf;
 
+  pango_fb_font_set_size (font);
+
   if (metrics)
     {
-      metrics->ascent = ftf->ascender * PANGO_SCALE >> 6;
-      metrics->descent = ftf->descender * PANGO_SCALE >> 6;
+      metrics->ascent = ftf->size->metrics.ascender * PANGO_SCALE >> 6;
+      metrics->descent = ftf->size->metrics.descender * PANGO_SCALE >> 6;
     }
 }